package com.abstract1;
 enum AgeLimit{
	MINOR_MAX(17),
	ADULT_MAX(60);
	 int ageLimit;
	 AgeLimit(int ageLimit){
		this.ageLimit=ageLimit;
	}
}
 enum TicketCostRange{
	 MINIOR_TKT_COST(17),
	 ADULT_TKT_COST(40),
	 SINIOR_TKT_COST(25);
	 private int ticketCost;
	 private TicketCostRange(int ticketCost){
		 this.ticketCost=ticketCost;
	 }
	 public int getTicketCost(){
		 return ticketCost;
	 }
 }
enum ChineseMenu{
	SOUP_CHICKEN(30),SOUP_MUTUN(60);
	private int range;
	private ChineseMenu(int range){
		this.range=range;
	}
	public int getMenu(){
		return range;
	}
}
interface ProjectConstants{
	public static final int AGE_MIN=15;
	public static final int AGE_MAX=65;
	public static final int AGE_ADULT=18;
	
	public static final int TICKET_MINOR=20;
	public static final int TICKET_ADULT=30;
	public static final int TICKET_SINIOR=25;
	
	public static final String SOUP_CHICKEN="Checken Soup";
	public static final String SOUP_MUTON="Muton Soup";
}

public class TestAbstractMethod implements ProjectConstants{
	public boolean isPersonAllowed(int age){
		if(age>ProjectConstants.AGE_MIN && age<ProjectConstants.AGE_MAX){
			return true;
		}
		return false;
	}
	public int getItemPrice(String item){
		if(item.equalsIgnoreCase(ProjectConstants.SOUP_CHICKEN)){
			return 30;
		}else if(item.equalsIgnoreCase(ProjectConstants.SOUP_MUTON)){
			return 40;
		}
		return 0;
	}
	
	public static int getTicketCostForAge(AgeLimit ageLimit){
		switch (ageLimit) {
		case MINOR_MAX:
			return TicketCostRange.MINIOR_TKT_COST.getTicketCost();
			//break;
		case ADULT_MAX:
			return TicketCostRange.ADULT_TKT_COST.getTicketCost();
			//break;
		default:
			System.out.println("Plese Try Again");
			break;
		}
		return 0;
	}
public static void main(String[] args) {
	TestAbstractMethod abstractMethod=new TestAbstractMethod();
	System.out.println(abstractMethod.isPersonAllowed(13));
	System.out.println(abstractMethod.getItemPrice("Checken Soup"));
	System.out.println(abstractMethod.getItemPrice("Muton Soup"));
	int a=getTicketCostForAge(AgeLimit.MINOR_MAX);
	System.out.println(a);
	
}
}
